Within the field of computing, many scenarios involve a media stream generated by a device and presented to a recipient, such as a videoconference involving a video stream that is generated by a device having a videocamera and delivered over a communication network to devices operated by the other participants of the videoconference. In such scenarios, the device connected to the media stream may have a media graph architecture, comprising a set of interchangeable components that perform various tasks (e.g., communicating with the media component, compressing the media stream with a particular compression/decompression algorithm (“codec”), and encoding the media stream for streaming over a network). The device may initiate the generation of the media stream by selecting a set of components based on a desired set of media stream properties, and connecting the components in series to generate a media graph. The media component may then commence the capturing of the media stream, and the device may utilize the media graph to perform the processing of the media stream and the delivery to one or more recipients.